import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { SeqStringHelper } from "../Public/SeqStringHelper";
import { SPublicMiniPlayer } from "../Public/SPublicMiniPlayer";
import { SGuildPlan } from "./SGuildPlan";
type int = number;
//class SGuildInfo
    
    export  class SGuildInfo
    {
       

        public __write(arg1: SerializeStream): void
        {
            arg1.writeInt(this.guildId);
            arg1.writeString(this.guildName);
            arg1.writeString(this.purpose);
            arg1.writeString(this.YY);
            arg1.writeString(this.QQ);
            arg1.writeInt(this.playerNum);
            arg1.writeInt(this.maxPlayerNum);
            arg1.writeInt(this.level);
            this.leader.__write(arg1);
            arg1.writeInt(this.bloom);
            arg1.writeInt(this.resource);
            arg1.writeInt(this.money);
            arg1.writeInt(this.maxMoney);
            arg1.writeBool(this.haveSpace);
            arg1.writeInt(this.camp);
            arg1.writeInt(this.house);
            SeqStringHelper.write(arg1, this.deputyLeaderNames);
            arg1.writeInt(this.guildTreeLevel);
            SeqStringHelper.write(arg1, this.PresbyterNames);
            arg1.writeString(this.strategy);
            this.plan.__write(arg1);
            return;
        }

        public __read(arg1: SerializeStream): void
        {
            this.guildId = arg1.readInt();
            this.guildName = arg1.readString();
            this.purpose = arg1.readString();
            this.YY = arg1.readString();
            this.QQ = arg1.readString();
            this.playerNum = arg1.readInt();
            this.maxPlayerNum = arg1.readInt();
            this.level = arg1.readInt();
            this.leader = new SPublicMiniPlayer();
            this.leader.__read(arg1);
            this.bloom = arg1.readInt();
            this.resource = arg1.readInt();
            this.money = arg1.readInt();
            this.maxMoney = arg1.readInt();
            this.haveSpace = arg1.readBool();
            this.camp = arg1.readInt();
            this.house = arg1.readInt();
            this.deputyLeaderNames = SeqStringHelper.read(arg1);
            this.guildTreeLevel = arg1.readInt();
            this.PresbyterNames = SeqStringHelper.read(arg1);
            this.strategy = arg1.readString();
            this.plan = new SGuildPlan();
            this.plan.__read(arg1);
            return;
        }

        public /* var */guildId: int;

        public /* var */guildName: string;

        public /* var */purpose: string;

        public /* var */YY: string;

        public /* var */QQ: string;

        public /* var */playerNum: int;

        public /* var */maxPlayerNum: int;

        public /* var */level: int;

        public /* var */leader: SPublicMiniPlayer;

        public /* var */bloom: int;

        public /* var */resource: int;

        public /* var */money: int;

        public /* var */maxMoney: int;

        public /* var */haveSpace: Boolean;

        public /* var */camp: int;

        public /* var */house: int;

        public /* var */deputyLeaderNames: Array<any>;

        public /* var */guildTreeLevel: int;

        public /* var */PresbyterNames: Array<any>;

        public /* var */strategy: string;

        public /* var */plan: SGuildPlan;
    }
